﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DIT.Domain;

namespace DIT.Contract
{
    public interface IRepository
    {
        //US228 - This comment added for checking TFS Target Process Integration - Not Worked
        //US234 - This comment added for checking TFS Target Process Integration
        //US240 - This comment added for checking TFS Target Process Integration - Worked
        bool BulkInsert<T>(IEnumerable<T> entityList) where T : DomainBase;
        Guid Insert<T>(T entity) where T : DomainBase;
        bool Modify<T>(T entity) where T : DomainBase;
        void Delete<T>(Guid entityId) where T : DomainBase;
        T GetById<T>(Guid domainBaseId) where T : DomainBase;
        IEnumerable<T> GetAll<T>() where T : DomainBase;
        IEnumerable<T> GetNotAll<T>() where T : DomainBase;
    }
}
